#include "maincontroller.h"

MainController *MainController::s_instance = nullptr;
MainController::MainController()
    : m_loginView(nullptr)
    , m_mainView(nullptr)
    , m_studentView(nullptr)
{

}

MainController *MainController::getInstance()
{
    if (s_instance == nullptr)
    {
        s_instance = new MainController();
    }
    return s_instance;
}

void MainController::initLoginView(LoginView *view)
{
    m_loginView = view;
}

void MainController::showLoginView()
{
    if (nullptr != m_loginView)
    {
        m_loginView->show();
    }
}

void MainController::hideLoginView()
{
    if (nullptr != m_loginView)
    {
        m_loginView->hide();
    }
}

void MainController::showMainView()
{
    if (m_mainView == nullptr)
    {
        m_mainView = new MainWindow();
    }
    m_mainView->show();
}

void MainController::hideMainView()
{
    if (nullptr != m_mainView)
    {
        m_mainView->hide();
    }
}

void MainController::showStudentView()
{
    if (nullptr == m_studentView)
    {
        m_studentView = new StudentView();
    }
    m_studentView->show();
}

void MainController::hideStudentView()
{
    if (nullptr != m_studentView)
    {
        m_studentView->hide();
    }
}

